- constraint < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > = < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. >
inherit VisitorsRuntime.map
method virtual visit_'annot : 'd -> 'g -> 'hmethod virtual visit_'label : 'd -> 'i -> 'jmethod visit_Min_float : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> constantmethod visit_Max_float : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> constantmethod visit_MaxSafeInteger : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> constantmethod visit_Epsilon : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> constantmethod visit_Random : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> constantmethod visit_Pi : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> constantmethod visit_UTCTime : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> constantmethod visit_LocalTime : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> constantmethod visit_constant : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> constant -> constantmethod visit_UndefinedType : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> typmethod visit_NullType : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> typmethod visit_EmptyType : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> typmethod visit_NoneType : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> typmethod visit_BooleanType : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> typmethod visit_NumberType : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> typmethod visit_StringType : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> typmethod visit_ObjectType : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> typmethod visit_ListType : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> typmethod visit_TypeType : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> typmethod visit_SetType : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> typmethod visit_typ : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> typ -> typmethod visit_Undefined : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> literalmethod visit_Null : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> literalmethod visit_Empty : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> literalmethod visit_Constant : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> constant -> literalmethod visit_Bool : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> bool -> literalmethod visit_Num : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> float -> literalmethod visit_String : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> string -> literalmethod visit_Loc : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> string -> literalmethod visit_Type : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> typ -> literalmethod visit_LList : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> literal list -> literalmethod visit_Nono : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> literalmethod visit_literal : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> literal -> literalmethod visit_Equal : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_LessThan : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_LessThanEqual : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_LessThanString : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_Plus : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_Minus : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_Times : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_Div : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_Mod : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_BAnd : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_BOr : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_BitwiseAnd : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_BitwiseOr : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_BitwiseXor : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_LeftShift : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_SignedRightShift : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_UnsignedRightShift : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_BitwiseAndL : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_BitwiseOrL : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_BitwiseXorL : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_LeftShiftL : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_SignedRightShiftL : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_UnsignedRightShiftL : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_M_atan2 : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_M_pow : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_LstNth : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_StrCat : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_StrNth : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_SetDiff : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_BSetMem : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_BSetSub : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binopmethod visit_binop : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> binop -> binopmethod visit_UnaryMinus : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_UNot : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_BitwiseNot : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_M_isNaN : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_M_abs : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_M_acos : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_M_asin : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_M_atan : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_M_ceil : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_M_cos : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_M_exp : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_M_floor : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_M_log : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_M_round : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_M_sgn : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_M_sin : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_M_sqrt : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_M_tan : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_ToStringOp : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_ToIntOp : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_ToUint16Op : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_ToUint32Op : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_ToInt32Op : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_ToNumberOp : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_TypeOf : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_Car : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_Cdr : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_LstLen : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_LstRev : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_SetToList : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_StrLen : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unopmethod visit_unop : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unop -> unopmethod visit_LstCat : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> nopmethod visit_SetUnion : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> nopmethod visit_SetInter : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> nopmethod visit_nop : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> nop -> nopmethod visit_Lit : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> literal -> exprmethod visit_PVar : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> string -> exprmethod visit_LVar : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> string -> exprmethod visit_ALoc : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> string -> exprmethod visit_UnOp : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> unop -> expr -> exprmethod visit_BinOp : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> expr -> binop -> expr -> exprmethod visit_LstSub : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> expr -> expr -> expr -> exprmethod visit_NOp : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> nop -> expr list -> exprmethod visit_EList : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> expr list -> exprmethod visit_ESet : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> expr list -> exprmethod visit_expr : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> expr -> exprmethod visit_True : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> formulamethod visit_False : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> formulamethod visit_Not : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> formula -> formulamethod visit_And : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> formula -> formula -> formulamethod visit_Or : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> formula -> formula -> formulamethod visit_Eq : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> expr -> expr -> formulamethod visit_Less : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> expr -> expr -> formulamethod visit_LessEq : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> expr -> expr -> formulamethod visit_StrLess : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> expr -> expr -> formulamethod visit_SetMem : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> expr -> expr -> formulamethod visit_SetSub : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> expr -> expr -> formulamethod visit_ForAll : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> (string * typ option) list -> formula -> formulamethod visit_formula : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> formula -> formulamethod visit_Emp : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> assertionmethod visit_Star : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> assertion -> assertion -> assertionmethod visit_Pred : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> string -> expr list -> assertionmethod visit_Pure : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> formula -> assertionmethod visit_Types : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> (expr * typ) list -> assertionmethod visit_GA : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> string -> expr list -> expr list -> assertionmethod visit_assertion : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> assertion -> assertionmethod visit_bindings : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> bindings -> string * (string * expr) listmethod visit_Fold : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> string -> expr list -> bindings option -> slcmdmethod visit_Unfold : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> string -> expr list -> bindings option -> bool -> slcmdmethod visit_GUnfold : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> string -> slcmdmethod visit_ApplyLem : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> string -> expr list -> string list -> slcmdmethod visit_SepAssert : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> assertion -> string list -> slcmdmethod visit_Invariant : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> assertion -> string list -> slcmdmethod visit_slcmd : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> slcmd -> slcmdmethod visit_If : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> expr -> lcmd list -> lcmd list -> lcmdmethod visit_Branch : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> formula -> lcmdmethod visit_Macro : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> string -> expr list -> lcmdmethod visit_Assert : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> formula -> lcmdmethod visit_Assume : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> formula -> lcmdmethod visit_AssumeType : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> string -> typ -> lcmdmethod visit_SpecVar : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> string list -> lcmdmethod visit_SL : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> slcmd -> lcmdmethod visit_lcmd : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> lcmd -> lcmdmethod visit_Skip : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> 'j cmdmethod visit_Assignment : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> string -> expr -> 'j cmdmethod visit_LAction : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> string -> string -> expr list -> 'j cmdmethod visit_Logic : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> lcmd -> 'j cmdmethod visit_Goto : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> 'i -> 'j cmdmethod visit_GuardedGoto : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> expr -> 'i -> 'i -> 'j cmdmethod visit_Call : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmdmethod visit_ECall : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> string -> expr -> expr list -> 'i option -> 'j cmdmethod visit_Apply : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> string -> expr -> 'i option -> 'j cmdmethod visit_Arguments : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> string -> 'j cmdmethod visit_PhiAssignment : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> (string * expr list) list -> 'j cmdmethod visit_ReturnNormal : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> 'j cmdmethod visit_ReturnError : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> 'j cmdmethod visit_Fail : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> string -> expr list -> 'j cmdmethod visit_cmd : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> 'i cmd -> 'j cmdmethod visit_Normal : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> flagmethod visit_Error : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> flagmethod visit_flag : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> flag -> flagmethod visit_pred : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> pred -> predmethod visit_lemma : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> lemma -> lemmamethod visit_single_spec : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> single_spec -> single_specmethod visit_spec : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> spec -> specmethod visit_bispec : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> bispec -> bispecmethod visit_macro : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> macro -> macromethod visit_proc : < visit_'annot : 'd -> 'g -> 'h; visit_'label : 'd -> 'i -> 'j; visit_ALoc : 'd -> string -> expr; visit_And : 'd -> formula -> formula -> formula; visit_Apply : 'd -> string -> expr -> 'i option -> 'j cmd; visit_ApplyLem : 'd -> string -> expr list -> string list -> slcmd; visit_Arguments : 'd -> string -> 'j cmd; visit_Assert : 'd -> formula -> lcmd; visit_Assignment : 'd -> string -> expr -> 'j cmd; visit_Assume : 'd -> formula -> lcmd; visit_AssumeType : 'd -> string -> typ -> lcmd; visit_BAnd : 'd -> binop; visit_BOr : 'd -> binop; visit_BSetMem : 'd -> binop; visit_BSetSub : 'd -> binop; visit_BinOp : 'd -> expr -> binop -> expr -> expr; visit_BitwiseAnd : 'd -> binop; visit_BitwiseAndL : 'd -> binop; visit_BitwiseNot : 'd -> unop; visit_BitwiseOr : 'd -> binop; visit_BitwiseOrL : 'd -> binop; visit_BitwiseXor : 'd -> binop; visit_BitwiseXorL : 'd -> binop; visit_Bool : 'd -> bool -> literal; visit_BooleanType : 'd -> typ; visit_Branch : 'd -> formula -> lcmd; visit_Call : 'd -> string -> expr -> expr list -> 'i option -> bindings option -> 'j cmd; visit_Car : 'd -> unop; visit_Cdr : 'd -> unop; visit_Constant : 'd -> constant -> literal; visit_Div : 'd -> binop; visit_ECall : 'd -> string -> expr -> expr list -> 'i option -> 'j cmd; visit_EList : 'd -> expr list -> expr; visit_ESet : 'd -> expr list -> expr; visit_Emp : 'd -> assertion; visit_Empty : 'd -> literal; visit_EmptyType : 'd -> typ; visit_Epsilon : 'd -> constant; visit_Eq : 'd -> expr -> expr -> formula; visit_Equal : 'd -> binop; visit_Error : 'd -> flag; visit_Fail : 'd -> string -> expr list -> 'j cmd; visit_False : 'd -> formula; visit_Fold : 'd -> string -> expr list -> bindings option -> slcmd; visit_ForAll : 'd -> (string * typ option) list -> formula -> formula; visit_GA : 'd -> string -> expr list -> expr list -> assertion; visit_GUnfold : 'd -> string -> slcmd; visit_Goto : 'd -> 'i -> 'j cmd; visit_GuardedGoto : 'd -> expr -> 'i -> 'i -> 'j cmd; visit_If : 'd -> expr -> lcmd list -> lcmd list -> lcmd; visit_Invariant : 'd -> assertion -> string list -> slcmd; visit_LAction : 'd -> string -> string -> expr list -> 'j cmd; visit_LList : 'd -> literal list -> literal; visit_LVar : 'd -> string -> expr; visit_LeftShift : 'd -> binop; visit_LeftShiftL : 'd -> binop; visit_Less : 'd -> expr -> expr -> formula; visit_LessEq : 'd -> expr -> expr -> formula; visit_LessThan : 'd -> binop; visit_LessThanEqual : 'd -> binop; visit_LessThanString : 'd -> binop; visit_ListType : 'd -> typ; visit_Lit : 'd -> literal -> expr; visit_Loc : 'd -> string -> literal; visit_LocalTime : 'd -> constant; visit_Logic : 'd -> lcmd -> 'j cmd; visit_LstCat : 'd -> nop; visit_LstLen : 'd -> unop; visit_LstNth : 'd -> binop; visit_LstRev : 'd -> unop; visit_LstSub : 'd -> expr -> expr -> expr -> expr; visit_M_abs : 'd -> unop; visit_M_acos : 'd -> unop; visit_M_asin : 'd -> unop; visit_M_atan : 'd -> unop; visit_M_atan2 : 'd -> binop; visit_M_ceil : 'd -> unop; visit_M_cos : 'd -> unop; visit_M_exp : 'd -> unop; visit_M_floor : 'd -> unop; visit_M_isNaN : 'd -> unop; visit_M_log : 'd -> unop; visit_M_pow : 'd -> binop; visit_M_round : 'd -> unop; visit_M_sgn : 'd -> unop; visit_M_sin : 'd -> unop; visit_M_sqrt : 'd -> unop; visit_M_tan : 'd -> unop; visit_Macro : 'd -> string -> expr list -> lcmd; visit_MaxSafeInteger : 'd -> constant; visit_Max_float : 'd -> constant; visit_Min_float : 'd -> constant; visit_Minus : 'd -> binop; visit_Mod : 'd -> binop; visit_NOp : 'd -> nop -> expr list -> expr; visit_NoneType : 'd -> typ; visit_Nono : 'd -> literal; visit_Normal : 'd -> flag; visit_Not : 'd -> formula -> formula; visit_Null : 'd -> literal; visit_NullType : 'd -> typ; visit_Num : 'd -> float -> literal; visit_NumberType : 'd -> typ; visit_ObjectType : 'd -> typ; visit_Or : 'd -> formula -> formula -> formula; visit_PVar : 'd -> string -> expr; visit_PhiAssignment : 'd -> (string * expr list) list -> 'j cmd; visit_Pi : 'd -> constant; visit_Plus : 'd -> binop; visit_Pred : 'd -> string -> expr list -> assertion; visit_Pure : 'd -> formula -> assertion; visit_Random : 'd -> constant; visit_ReturnError : 'd -> 'j cmd; visit_ReturnNormal : 'd -> 'j cmd; visit_SL : 'd -> slcmd -> lcmd; visit_SepAssert : 'd -> assertion -> string list -> slcmd; visit_SetDiff : 'd -> binop; visit_SetInter : 'd -> nop; visit_SetMem : 'd -> expr -> expr -> formula; visit_SetSub : 'd -> expr -> expr -> formula; visit_SetToList : 'd -> unop; visit_SetType : 'd -> typ; visit_SetUnion : 'd -> nop; visit_SignedRightShift : 'd -> binop; visit_SignedRightShiftL : 'd -> binop; visit_Skip : 'd -> 'j cmd; visit_SpecVar : 'd -> string list -> lcmd; visit_Star : 'd -> assertion -> assertion -> assertion; visit_StrCat : 'd -> binop; visit_StrLen : 'd -> unop; visit_StrLess : 'd -> expr -> expr -> formula; visit_StrNth : 'd -> binop; visit_String : 'd -> string -> literal; visit_StringType : 'd -> typ; visit_Times : 'd -> binop; visit_ToInt32Op : 'd -> unop; visit_ToIntOp : 'd -> unop; visit_ToNumberOp : 'd -> unop; visit_ToStringOp : 'd -> unop; visit_ToUint16Op : 'd -> unop; visit_ToUint32Op : 'd -> unop; visit_True : 'd -> formula; visit_Type : 'd -> typ -> literal; visit_TypeOf : 'd -> unop; visit_TypeType : 'd -> typ; visit_Types : 'd -> (expr * typ) list -> assertion; visit_UNot : 'd -> unop; visit_UTCTime : 'd -> constant; visit_UnOp : 'd -> unop -> expr -> expr; visit_UnaryMinus : 'd -> unop; visit_Undefined : 'd -> literal; visit_UndefinedType : 'd -> typ; visit_Unfold : 'd -> string -> expr list -> bindings option -> bool -> slcmd; visit_UnsignedRightShift : 'd -> binop; visit_UnsignedRightShiftL : 'd -> binop; visit_assertion : 'd -> assertion -> assertion; visit_bindings : 'd -> bindings -> string * (string * expr) list; visit_binop : 'd -> binop -> binop; visit_bispec : 'd -> bispec -> bispec; visit_cmd : 'd -> 'i cmd -> 'j cmd; visit_constant : 'd -> constant -> constant; visit_expr : 'd -> expr -> expr; visit_flag : 'd -> flag -> flag; visit_formula : 'd -> formula -> formula; visit_lcmd : 'd -> lcmd -> lcmd; visit_lemma : 'd -> lemma -> lemma; visit_literal : 'd -> literal -> literal; visit_macro : 'd -> macro -> macro; visit_nop : 'd -> nop -> nop; visit_pred : 'd -> pred -> pred; visit_proc : 'd -> ('g, 'i) proc -> ('h, 'j) proc; visit_single_spec : 'd -> single_spec -> single_spec; visit_slcmd : 'd -> slcmd -> slcmd; visit_spec : 'd -> spec -> spec; visit_typ : 'd -> typ -> typ; visit_unop : 'd -> unop -> unop; .. > -> 'd -> ('g, 'i) proc -> ('h, 'j) proc